System and Method for Initial Ranging in Wireless Communication Systems

ABSTRACT

A system and method for initial ranging in wireless communication systems is provided. A plurality of orthogonal frequency division multiplexing (OFDM) blocks are received by an OFDMA base station transceiver from a plurality of remote user devices in wireless communication with the base station. A ranging subchannel is extracted from the OFDM blocks. The number of active codes in the ranging subchannel is determined, active codes are identified, and carrier frequency offsets (CFOs) are estimated for each active code. Timing delays and power levels for each active code are then estimated. The estimated CFOs, timing delays, and power levels are broadcasted by the base station to the remote user devices, so that the user devices can utilize same to adjust transmission parameters to optimize power levels and synchronize communication with the base station.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. patent application Ser. No. 12/114,220, filed on May 2, 2008, now U.S. Pat. No. 8,254,242, the entire disclosure of which is expressly incorporated herein by reference.

STATEMENT OF GOVERNMENT INTERESTS

The present invention was made with government support under National Science Foundation Grant Nos. ANI-03-38807 and CNS-06-25637. Accordingly, the Government has certain rights to the present invention.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to wireless communication systems, and more particularly, to a system and method for initial ranging in wireless communication systems.

2. Related Art

In the field of wireless communication technology, recent demands for high data rates have stimulated intense research activity in multicarrier modulation techniques. Particular interest has been directed to orthogonal frequency-division multiple-access (OFDMA) wireless communication systems, which have become part of the Institute of Electrical and Electronics (IEEE) 802.16 family of standards for wireless metropolitan area networks (WMANs). OFDMA systems allow for the transmission of digital information between a base station (BS) and a plurality of remote user devices, such as cellular telephones, wireless handheld computers, etc. OFDMA systems split the available bandwidth into smaller subchannels composed by a set of orthogonal subcarriers, which are assigned to different users to simultaneously communicate with the BS. The user signals are received at the BS as a series of orthogonal frequency division multiplexing (OFDM) blocks, from which information data are extracted by the BS. Unfortunately, OFDMA systems are extremely sensitive to timing errors and carrier frequency offsets (CFOs) that may occur between uplink signals and the local references at the BS. Timing errors give rise to interblock interference (IBI), while inaccurate compensation of the CFOs destroys orthogonality among subcarriers and produces interchannel interference (ICI) as well as multiple access interference (MAI).

In an attempt to alleviate these drawbacks of OFDMA systems, the IEEE 802.16 standards specify a synchronization procedure called Initial Ranging (IR), wherein users that intend to establish a link with the BS adjust their transmission parameters so that uplink signals arrive at the BS synchronously and with approximately the same power level. In its basic form, the IR process develops through the following steps. First, a remote user computes frequency and timing estimates on the basis of a downlink control channel. The estimated parameters are then used in the uplink phase, during which each remote user transmits a randomly chosen code over a ranging time-slot that comprises a specified number of adjacent OFDM blocks. However, as a consequence of the different users' positions within the cell, uplink signals arrive at the BS at different time instants. Furthermore, since the ranging time-slot is randomly selected, several users may collide over a same ranging subchannel. After separating colliding codes and extracting timing and power information, the BS broadcasts a response message indicating the detected codes and giving the necessary instructions for timing and power adjustment.

The main functions of the BS during the ranging process may be classified as multi-user code detection, and multi-user timing and power estimation. In existing IR techniques, a long pseudo-noise (PN) code is transmitted by each RSS over all available ranging subcarriers. Code detection and timing recovery is then accomplished on the basis of suitable correlations computed in either the frequency or time domains. These approaches require huge computational complexity since each correlation must be evaluated for each possible ranging code and hypothesized timing offset. Moreover, separation of users is achieved by exploiting only the correlation properties of the employed code set. In the presence of multipath distortions, however, ranging subcarriers are subject to different attenuations and phase shifts, thereby leading to a loss of the code orthogonality. This gives rise to MAI, which severely degrades the system performance.

Alternative solutions involve replacing the PN ranging codes with a set of modified generalized chirp-like (GCL) sequences and mitigating the effects of channel distortion through differential detection of the ranging signals. Unfortunately, this approach is still plagued by significant MAI and, furthermore, it cannot be applied to interleaved OFDMA systems since ranging subcarriers must be assigned adjacently. Some attempts at reducing the system complexity rely on the decomposition of the multi-parameter estimation problem into a number of successive steps. However, they are only suitable for flat channels and fail in the presence of multipath distortions. Still another approach involves a reduction of the computational burden, but this is achieved at the price of an increased overhead using a dedicated common ranging code.

A common drawback, among others, of existing IR methods is their poor performance in the presence of frequency selective channels. For example, in one existing method a signal design is proposed which is robust to multipath distortions, wherein ranging signals are divided into several groups and each group is transmitted over an exclusive set of subcarriers with a specific timing delay. This approach leads to a significant reduction of MAI as signals of different groups are perfectly separable in either the frequency or time domain. Additionally, in existing approaches, phase rotations induced by residual CFOs between the uplink signals and the BS frequency scale are ignored even though such rotations may become significant over ranging periods spanning several adjacent blocks. In such cases, the received ranging signals are no longer orthogonal and CFO compensation is necessary to avoid a serious degradation of the system performance. Unfortunately, frequency recovery schemes for OFDMA systems are normally derived under the assumption that uplink signals are transmitted over disjoint subcarriers and, as a result, cannot be applied to a scenario where multiple codes share the same subchannel.

Accordingly, what would be desirable, but has not yet been provided, is a system and method for initial ranging in wireless communication systems, which addresses the foregoing shortcomings of existing initial ranging approaches.

SUMMARY OF THE INVENTION

The present invention relates to a system and method for initial ranging in wireless communication systems. OFDM blocks are received by an OFDMA base station transceiver from a plurality of remote user devices. After passing the received signal into a discrete Fourier transform (DFT) unit, ranging subchannels are extracted from the received blocks, and a ranging subchannel is selected for processing. The number of active codes that are present in the selected subchannel is then determined. Once this information is obtained, CFOs are subsequently estimated together with the active codes using a multiple signal classification (MUSIC) algorithm. Timing delays and power levels are then estimated for each active code using maximum likelihood (ML) and least-squares (LS) estimation algorithms. The BS then broadcasts a response message indicating the detected codes and their corresponding instructions for adjusting synchronization parameters and power levels. A reduced complexity algorithm is also provided by the present invention for estimating timing delays and power levels with reduced computational complexity. In another embodiment of the present invention, CFOs, timing errors, and power levels are estimated using an Estimation of Signal Parameters via Rotational Invariance Techniques (EPSRIT) algorithm.

BRIEF DESCRIPTION OF THE DRAWINGS

The foregoing features of the invention will be apparent from the following Detailed Description of the Invention, taken in connection with the accompanying drawings, in which:

FIG. 1 is a flowchart showing processing steps according to the present invention for initial ranging in a wireless communication system;

FIGS. 2-5 are flowcharts showing, respectively, processing steps 18-24 of FIG. 1 in greater detail;

FIG. 6 is a flowchart showing processing steps according to the present invention for estimating power levels and timing delays during initial ranging with reduced computational complexity;

FIG. 7 is a block diagram showing a sample hardware and software/firmware arrangement for implementing the present invention;

FIGS. 8-14 are graphs showing performance results of the present invention during software simulation testing;

FIG. 15 is a flowchart showing another embodiment of the present invention, wherein CFOs and timing delays are estimated using an ESPRIT algorithm; and

FIGS. 16A-16C are graphs showing performance results of the embodiment of the present invention shown in FIG. 15, during software simulation testing.

DETAILED DESCRIPTION OF THE INVENTION

The present invention relates to a system and method for initial ranging in wireless communication systems, wherein a specified number of OFDM blocks are received by the BS from a plurality of remote user devices. The received signal is passed to a DFT unit which extracts ranging subchannels from the received blocks, and a ranging subchannel is selected for processing. After determining the number of active codes in the considered subchannel, CFOs are estimated for each active code using a MUSIC algorithm. Timing delays and power levels are then estimated for each active code using ML and LS estimation algorithms. The estimated CFOs, timing delays, and power levels are broadcast by the base station to the remote user devices, which can optimize their power levels and synchronize with the BS reference scales. In another embodiment of the present invention, CFOs, timing errors, and power levels are estimated using an ESPRIT algorithm.

As used herein, matrices and vectors are denoted by boldface letters, with I_(N) being the identity matrix of order N. The expression A=diag{a(n); n=1, 2, . . . , N} denotes an N×N diagonal matrix with entries a(n) along its main diagonal, while B⁻¹ is the inverse of a square matrix B. The expressions E{•}, (•)*, (•)^(T) and (•)^(H) are used for expectation, complex conjugation, transposition, and Hermitian transposition, respectively. The notation ∥•∥ represents the Euclidean norm of the enclosed vector, while |•| represents the modulus. The expression └c┘ indicates the largest integer smaller than or equal to c, and [•]_(k,l) denotes the (k,l)th entry of the enclosed matrix.

The present invention is operable with OFDMA wireless communication systems, in which remote wireless communication devices (referred to herein as “ranging subscriber stations” (RSSs)) engage in an IR procedure with an OFDMA BS transceiver (e.g., a transceiver at a cellular tower location, a building, etc.). The equations/algorithms according to the present invention can be utilized in OFDMA systems where M denotes the number of OFDM blocks in a ranging time-slot and each ranging subchannel can be accessed by no more than M−1 RSSs. The latter are separated by means of orthogonal codes which are randomly selected from a set {c₁, c₂, . . . , c_(M−1)}, with c_(k)=[c_(k)(0), c_(k)(1), . . . , c_(k)(M−1)]^(T) and |c_(k)(m)|=1 for 0≦m≦M−1. Each OFDM block employs N subcarriers with frequency spacing Δf and indices in the set {0, 1, . . . , N−1}. R denotes the number of ranging subchannels, each of which is divided into Q subbands uniformly spaced over the signal bandwidth at a distance (N/Q)Δf from each other. A given subband is called a tile, and is composed by a set of V adjacent subcarriers. The subcarrier indices in the qth tile (q=0, 1, . . . , Q−1) of the rth subchannel (r=0, 1, . . . , R−1) are collected into a set J_(q) ^((r))={i_(q,v) ^((r))}_(v=0) ^(V−1) with entries

$\begin{matrix} {i_{q,v}^{(r)} = {\frac{qN}{Q} + \frac{rN}{QR} + {v.}}} & (1) \end{matrix}$

The rth subchannel is thus composed of subcarriers with indices taken from J^((r))=∪_(q=0) ^(Q−1)J_(q) ^((r)), while a total of N_(R)=QVR ranging subcarriers are available with indices in the set J_(R)=∪_(r=0) ^(R−1)J^((r)). The remaining N−N_(R) subcarriers are used for data transmission and are assigned to data subscriber stations (DSSs), which have successfully completed their IR process and are assumed to be perfectly aligned to the BS time and frequency scales.

FIG. 1 is a flowchart showing processing steps according to the present invention for initial ranging in a wireless communication system (e.g., an OFDMA system), indicated generally at 10. The steps shown in FIG. 1 can be programmed into any suitable OFDMA base station transceiver, and allow such a transceiver to conduct initial ranging processes with RSSs (e.g., cellular telephones, etc.) in accordance with a suitable communication protocol, including, but not limited to, the standard set forth in the Institute of Electrical and Electronics (IEEE) 802.16e standard.

Beginning in step 12, an OFDMA base station transceiver receives M OFDM blocks from a plurality of RSSs that intend to establish a link with the BS. In step 14, each OFDM block is processed by a discrete Fourier transform (DFT) unit to extract the QV subcarriers corresponding to the R ranging subchannels. As a general rule, different RSSs in a given subchannel employ different codes. In step 16, a ranging subchannel is selected and modeled in accordance with the present invention, as follows.

For the purposes of this description, we concentrate on the rth subchannel, where K^((r))≦M−1 denotes the number of simultaneously active RSSs. To simplify the notation, the subchannel index (r) is not referred to herein. The waveform transmitted by the kth RSS propagates through a multipath channel of order L with impulse response h_(k)=[h_(k)(0), h_(k)(1), . . . , h_(k)(L−1)]^(T). At the BS, the received samples are not synchronized with the local references. θ_(k) denotes the timing error of the signal received from the kth RSS expressed in sampling intervals, while ε_(k) denotes the corresponding frequency offset normalized to the subcarrier spacing.

We denote by Y_(m) a QV-dimensional vector which stores the DFT outputs of the considered subchannel during the mth OFDM block. Since DSSs are perfectly aligned to the BS references, their signals do not contribute to Y_(m). In contrast, the presence of uncompensated CFOs destroys orthogonality among ranging signals and gives rise to ICI. Recalling that the ranging subchannels are interleaved in the frequency domain at a distance of NΔf/(QR) from each other, interference on Y_(m) arising from subchannels other than the considered one can be neglected. Under the above assumptions, it is possible to write:

$\begin{matrix} {Y_{m} = {{\sum\limits_{k = 1}^{K}{{c_{k}(m)}^{j\; m\; \omega_{k}N_{T}}{A\left( \omega_{k} \right)}{S_{k}\left( \theta_{k} \right)}}} + n_{m}}} & (2) \end{matrix}$

where ω_(k)=2πε_(k)/N is the angular CFO of the kth RSS, N_(T)=N+N_(G) denotes the duration of the cyclically extended blocks and n_(m) is a Gaussian vector with zero mean and covariance matrix σ²I_(QV). In addition, the following equation has been defined:

A(ω)=FW(ω)F ^(H)  (3)

where W(ω) is given by:

W(ω)=diag{e ^(jnω) ;n=0,1, . . . ,N−1}  (4)

while F=[F₀ ^(H)F₁ ^(H) . . . F_(Q−1) ^(H)]^(H), with each F_(q) denoting a V×N matrix with entries:

$\begin{matrix} {{\left\lbrack F_{q} \right\rbrack_{v,n} = {{\frac{1}{\sqrt{N}}^{{- j}\; 2\pi \; _{q,v}{n/N}}0} \leq v \leq {V - 1}}},{0 \leq n \leq {N - 1.}}} & (5) \end{matrix}$

Vector S_(k)(θ_(k)) in Equation 2 can be partitioned into Q segments [S_(k) ^(T)(θ_(k), i₀)S_(k) ^(T)(θ_(k),i₁) . . . S_(k) ^(T)(θ_(k),i_(Q−1))]^(T) each corresponding to a distinct tile. The qth segment S_(k)(θ_(k),i_(q)) has length V and elements given by:

$\begin{matrix} {{{S_{k}\left( {\theta_{k},i_{q,v}} \right)} = {^{{- j}\frac{2\pi \; \theta_{k}}{N}i_{q,v}}{H_{k}\left( i_{q,v} \right)}}},{0 \leq v \leq {V - 1}}} & (6) \end{matrix}$

where H_(k)(θ_(k),i_(q,v)) is the kth channel frequency response over the i_(q,v)th subcarrier, which can be written as:

$\begin{matrix} {{H_{k}\left( i_{q,v} \right)} = {\sum\limits_{l = 0}^{L - 1}{{h_{k}(l)}{^{{- j}\frac{2\pi \; l}{N}i_{q,v}}.}}}} & (7) \end{matrix}$

The above equation indicates that θ_(k) appears only as a phase shift across the DFT outputs. The reason for this is that the CP duration is longer than the maximum expected propagation delay, thereby making the ranging signals quasi-synchronous at the BS. The power of the kth RSS over the ranging subcarriers is defined as:

$\begin{matrix} {P_{k} = {\frac{1}{QV}{\sum\limits_{q = 0}^{Q - 1}{\sum\limits_{v = 0}^{V - 1}{{{S_{k}\left( {\theta_{k},i_{q,v}} \right)}}^{2}.}}}}} & (8) \end{matrix}$

In step 18, the number of currently active codes in the selected subchannel is calculated, as discussed below in greater detail in connection with FIG. 2. Then, in step 20, CFOs are estimated for each active code, as discussed below in greater detail in connection with FIG. 3. In step 22, after CFOs have been estimated, timing delays/errors for each active code are estimated. This process is discussed below in greater detail in connection with FIG. 4. In step 24, power levels for each active code are estimated, as discussed in connection with FIG. 5.

In step 26, a determination is made as to whether all subchannels have been processed. If a negative determination is made, control returns to step 16, so that an additional subchannel can be processed as described above to provide estimates of CFOs, timing delays, and power levels for the corresponding RSSs. If a positive determination is made, step 28 occurs.

After CFOs, timing delays, and power levels have been estimated for each RSS, this information is broadcast in step 28 to the remote users (i.e., the RSSs), so that each user device can adjust its transmission parameters and align its own uplink signal to the BS reference scales. Specifically, users that intend to access the network for the first time compute initial frequency and timing estimates on the basis of a downlink control signal broadcast by the BS. The estimated parameters are then employed by each RSS as synchronization references for the uplink ranging transmission. This means that, during the IR process, the CFOs are induced only by Doppler shifts and/or estimation errors and, as a consequence, they will be quite small. For example, consider the IEEE 802.16 standard for WMANs with subcarrier spacing Δf=11.16 kHz and carrier frequency f₀=5 GHz. In the case of perfect downlink synchronization, the maximum CFO in the uplink is 2f_(o)v_(k)/c, where v_(k) denotes the terminal speed while c=3×10⁸ m/s is the speed of light. Letting v_(k)=120 km/h yields ε_(k)≦0.10, which means that the normalized CFO lies within 10% of the subcarrier spacing. Timing errors depend on the distances of the RSSs from the BS and their maximum value θ_(max) corresponds to the round trip propagation delay for a user located at the cell boundary. This parameter is known and is given by θ_(max)=2R/(cT_(s)), where R is the cell radius and T_(s)=1/(NΔf) is the sampling period. A simple way to counteract the effects of timing errors relies on the use of sufficiently long CPs comprising N_(G)≧θ_(max)+L sampling intervals. This leads to a quasi-synchronous network in which timing errors do not produce any IBI and result only in phase shifts at the output of the receive DFT unit. The CP of data blocks should be made just greater than the channel length to minimize unnecessary overhead. It follows that accurate timing estimation must be accomplished during the ranging period in order to align all active users with the BS time-slot and to avoid IBI over the data section of the frame.

FIG. 2 is a flowchart showing step 18 of FIG. 1 in greater detail. As mentioned above, step 18 of FIG. 1 allows for the calculation of the number of active codes in the considered (modeled) ranging subchannel. This information is utilized to derive CFO estimates, as well as estimates of timing delays and power levels of the corresponding active codes.

In step 30, the number of received codes in the considered subchannel is determined by evaluating the correlation matrix and applying an eigendecomposition (EVD) procedure. It is assumed that the CFOs are confined within a small fraction of the subcarrier spacing. In such a case, the demodulated signals incur negligible phase rotations over one OFDM block, and W(ω) in Equation 4 above can be approximated by I_(N). Substituting Equation 3 into Equation 2, and observing that FF^(H)=I_(QV), yields:

$\begin{matrix} {Y_{m} \approx {{\sum\limits_{k = 1}^{K}{{c_{k}(m)}^{j\; m\; \omega_{k}N_{T}}{S_{k}\left( \theta_{k} \right)}}} + n_{m}}} & (9) \end{matrix}$

from which it follows that each CFO results only in a phase shift between contiguous OFDM blocks. The DFT output over the i_(q,v)th subcarrier of the mth block is thus given by:

$\begin{matrix} {{Y_{m}\left( i_{q,v} \right)} \approx {{\sum\limits_{k = 1}^{K}{{c_{k}(m)}^{j\; m\; \omega_{k}N_{T}}{S_{k}\left( {\theta_{k},i_{q,v}} \right)}}} + {n_{m}\left( i_{q,v} \right)}}} & (10) \end{matrix}$

The vector Y(i_(q,v))=[Y₀(i_(q,v)), Y₁(i_(q,v)), . . . , Y_(M−1)(i_(q,v))]^(T) is then defined for collecting the i_(q,v)th DFT output across all M ranging blocks. Then, from Equation 10, it follows that:

$\begin{matrix} {{Y\left( i_{q,v} \right)} = {{\sum\limits_{k = 1}^{K}{{S_{k}\left( {\theta_{k},i_{q,v}} \right)}{\Gamma \left( \omega_{k} \right)}c_{k}}} + {n\left( i_{q,v} \right)}}} & (11) \end{matrix}$

where Γ(ω_(k))=diag{e^(jmω) ^(k) ^(N) ^(T) ;m=0, 1, . . . , M−1} while n(i_(q,v))=[n₀(i_(q,v)), n₁(i_(q,v)), . . . , n_(M−1)(i_(q,v))]^(T) is Gaussian distributed with zero-mean and covariance matrix σ²I_(M).

From Equation 11, it is seen that Y(i_(q,v)) is a superposition of frequency-rotated codes {Γ(ω_(k))c_(k)}_(k=1) ^(K) embedded in white Gaussian noise and with random amplitudes {S_(k)(θ_(k),i_(q,v))}_(k=1) ^(K). This model has the same structure as measurements of multiple uncorrelated sources from an array of sensors. EVD can then be performed on the correlation matrix of Y(i_(q,v)), whereupon the active codes and their corresponding CFOs can subsequently be determined.

Estimation of the number of active codes over the ranging subchannel can be accomplished in step 30 through the EVD of the correlation matrix R_(Y)=E{Y(i_(q,v))Y^(H)(i_(q,v))}. Let λ₁≧λ₂≧ . . . ≧λ_(M) be the eigenvalues of R_(Y) arranged in non-increasing order. Then, from Equation 11, it follows that the M−K smallest eigenvalues are equal to the noise power σ² while the largest K eigenvalues are related to σ² and also to the average signal power. Mathematically, the following Equation applies:

$\begin{matrix} {\lambda_{k} = \left\{ \begin{matrix} {{\overset{\_}{P}}_{k} + \sigma^{2}} & {{{for}\mspace{14mu} 1} \leq k \leq K} \\ \sigma^{2} & {{{{for}\mspace{14mu} K} + 1} \leq k \leq M} \end{matrix} \right.} & (12) \end{matrix}$

where P _(k) are strictly positive quantities related to the signal power. If the quantities P _(k) are much greater than σ², estimating K is not problematic since the eigenvalues exhibit a clear drop in passing from k=K to k=K+1. In practice, however, the drop cannot be easily detected since users starting a ranging procedure are required to keep the transmission power at a relatively low level in order to limit interference to DSSs. A further difficulty is that R_(Y) is not available at the receiver and must be replaced with some suitable estimate. One approach to solve these difficulties is to use the sample correlation matrix:

$\begin{matrix} {{\overset{\sim}{R}}_{Y} = {\frac{1}{QV}{\sum\limits_{q = 0}^{Q - 1}{\sum\limits_{V = 0}^{V - 1}{{Y\left( i_{q,v} \right)}{Y^{H}\left( i_{q,v} \right)}}}}}} & (13) \end{matrix}$

which provides an unbiased and consistent estimate of R_(Y). An alternative solution is based on the forward-backward (FB) principle. In such a case R_(Y) is replaced by:

{circumflex over (R)} _(Y)=½({tilde over (R)} _(Y) +J{tilde over (R)} _(Y) ^(T) J)  (14)

where {tilde over (R)}_(Y) is still given in Equation 13 while J is the exchange matrix with 1's on the anti-diagonal and 0's elsewhere.

In step 32, after performing EVD on {circumflex over (R)}_(Y) and arranging the eigenvalues {circumflex over (λ)}₁≧{circumflex over (λ)}₂≧ . . . ≧{circumflex over (λ)}_(M) in non-increasing order, an estimate {circumflex over (K)} of the number of active codes is found through information-theoretic criteria. Two examples of such criteria are represented by the Akaike and Minimum Description Length (MDL) criteria. The MDL approach looks for the minimum of the following objective function:

F({tilde over (K)})=½{tilde over (K)}(2M−{tilde over (K)})ln(QV)−QV(M−{tilde over (K)})ln ρ({tilde over (K)})  (15)

where ρ({tilde over (K)}) is the ratio between the geometric and arithmetic mean of {{circumflex over (λ)}_({tilde over (K)}+1), {circumflex over (λ)}_({tilde over (K)}+2), . . . , {circumflex over (λ)}_(M)}, i.e.,

$\begin{matrix} {{\rho \left( \overset{\sim}{K} \right)} = \frac{\left( {\prod\limits_{i = {\overset{\sim}{K} + 1}}^{M}\; \lambda_{i}} \right)^{\frac{1}{M - \overset{\sim}{K}}}}{\frac{1}{M - \overset{\sim}{K}}{\sum\limits_{i = {\overset{\sim}{K} + 1}}^{M}{\hat{\lambda}}_{i}}}} & (16) \end{matrix}$

and {tilde over (K)} denotes a tentative value of K and varies from 1 to M−1.

In step 34, once {circumflex over (K)} has been computed, from Equation 12 an estimate of the noise power σ² can be computed as:

$\begin{matrix} {{\hat{\sigma}}^{2} = {\frac{1}{M - \hat{K}}{\sum\limits_{i = {\hat{K} + 1}}^{M}{{\hat{\lambda}}_{i}.}}}} & (17) \end{matrix}$

FIG. 3 is a flowchart showing processing step 20 of FIG. 1 in greater detail. Processing step 20 allows for the estimation of CFOs for a given subchannel, as well as the identification of active codes in the subchannel. Beginning in step 36, the observation space is decomposed into a signal subspace S_(σ) which is spanned by the rotated codes {Γ(ω_(k))c_(k)}_(k=1) ^(K) plus a noise subspace S_(v). As is known, S_(v) is the orthogonal complement of S_(σ) so that each vector of S_(σ) is orthogonal to any other vector in S_(v). To proceed further, it is assumed that the number of active codes has been correctly estimated (i.e., {circumflex over (K)}≈K), and {û₁, û₂, . . . , û_(M)} denotes the eigenvectors of {circumflex over (R)}_(Y) corresponding to the ordered eigenvalues {circumflex over (λ)}₁≧{circumflex over (λ)}₂≧ . . . ≧{circumflex over (λ)}_(M).

In step 38, CFOs are estimated using a MUSIC approach. The MUSIC algorithm relies on the fact that the eigenvectors {û_(K+1), û_(K+2), . . . , û_(M)} associated with the M−K smallest eigenvalues of {circumflex over (R)}_(Y) form an estimated basis of the noise subspace S_(v) and, accordingly, they are approximately orthogonal to all vectors in the signal space S_(σ). An estimate of ω_(k) is thus obtained by minimizing the projection of Γ({tilde over (ω)})c_(k) onto the subspace spanned by the columns of Û_(n)=[û_(K+1) û_(K+2) . . . û_(M)]. This leads to the following estimation algorithm:

$\begin{matrix} {{{\hat{\omega}}_{k} = {\underset{\hat{\omega}}{\arg \; \max}\left( {\Psi_{k}\left( \overset{\sim}{\omega} \right)} \right\}}}{{with}\text{:}}} & (18) \\ {{\Psi_{k}\left( \overset{\sim}{\omega} \right)} = \frac{1}{{{{\hat{U}}_{n}^{H}{\Gamma \left( \overset{\sim}{\omega} \right)}c_{k}}}^{2}}} & (19) \end{matrix}$

In principle, CFO recovery must only be accomplished for the active codes. However, since at this stage the BS has no knowledge of which codes have been transmitted over the considered subchannel, frequency estimates {{circumflex over (ω)}₁, {circumflex over (ω)}₂, . . . , {circumflex over (ω)}_(M−1)} must be evaluated for the complete set {c₁, c₂, . . . , c_(M−1)}.

In step 40, active codes are identified. The present invention searches for the K largest values in the set {Ψ_(k)({circumflex over (ω)}_(k))}_(k=1) ^(M−1), say {Ψ_(u) _(k) ({circumflex over (ω)}_(u) _(k) )}_(k=1) ^(K), and declares as active the corresponding codes {c_(u) _(k) }_(k=1) ^(K). The CFO estimates are eventually found as {circumflex over (ω)}_(u)=[{circumflex over (ω)}_(u) ₁ , {circumflex over (ω)}_(u) ₂ , . . . , {circumflex over (ω)}_(u) _(K) ]^(T). The CFO estimation based on the MUSIC algorithm is referred to herein as the MUSIC-based frequency estimator (MFE), while the active code identification algorithm is referred to herein as the MUSIC-based code detector (MCD).

A key issue is the maximum CFO value that can be handled by MFE. To simplify the analysis, it is assumed that the ranging codes belong to the Fourier basis of order M and are given by:

c _(k)(m)=e ^(j2πmk/M),0≦m≦M−1  (20)

for k=1, 2, . . . , M−1. Then, identifiability of the rotated codes {Γ(ω_(k))c_(k)}_(k=1) ^(K) is guaranteed as long as the CFOs are smaller than N/(2MN_(T)) in magnitude. Let ε_(k)=N/(2MN_(T)) and 9ε_(k+1)=N/(2MN_(T)). In such a case, the received codes Γ(ω_(k))c_(k) and Γ(ω_(k+1))c_(k+1) are identical and there is no way to distinguish among them. This fact limits the acquisition range of MFE to the interval |ε_(k)|<N/(2MN_(T)). Although this result has been derived for the Fourier basis specified in Equation 20, it may also apply to other code designs.

The computational load (complexity) of MFE can be assessed as follows. Assume that the number of active codes has already been found and is available at the BS. Then, computing {circumflex over (R)}_(Y) in Equation 14 requires approximately O(M²QV) operations, while the complexity for evaluating the metric Ψ_(k)({tilde over (ω)}) in Equation 19 is O(M²(M−K)) for each {tilde over (ω)}. Denoting by N_(ω) the number of candidate values {tilde over (ω)} and observing that the maximization in Equation 18 must be performed over the entire code set {c₁, c₂, . . . , c_(M−1)}, it follows that a total of O(N_(ω)M²(M−K)) operations are required to find {circumflex over (ω)}_(u). The overall complexity of MFE is thus on the order of O(M²QV+N_(ω)M²(M−K)). This figure does not consider the EVD on {tilde over (R)}_(Y) since this operation is comparatively easier than the maximization step in Equation 18.

FIG. 4 is a flowchart showing step 22 of FIG. 1 in greater detail. Step 22 allows for the estimation of timing delays of all active RSSs. After code detection and CFO recovery, the BS must acquire information about the timing delays and power levels of all ranging signals. Timing delay estimation is achieved in steps 42 and 44 through the use of ML and LS estimation algorithms. An initial assumption is made that {circumflex over (K)}=K. To simplify the notation, the indices {u_(k)}_(k=1) ^(K) of the detected codes are relabeled according to the map u_(k)→k.

First, Equation 2 is reformulated in a more compact form. For this purpose, matrices D_(m)(ω_(k))=c_(k)(m)e^(jmω) ^(k) ^(N) ^(T) A(ω_(k)) are defined and collect the CFOs and timing errors in two K-dimensional vectors ω=[ω₁, ω₂, . . . , ω_(K)]^(T) and θ=[θ₁, θ₂, . . . , θ_(K)]^(T). Then, Y_(m) is rewritten as:

Y _(m) =D _(m)(ω)S(θ)+n _(m)  (21)

with S(θ)=[S₁ ^(T)(θ₁)S₂ ^(T)(θ₂) . . . S_(K) ^(T)(θ_(K))]^(T) and D_(m)(ω)=[D_(m)(ω₁)D_(m)(ω₂) . . . D_(m)(ω_(K))]. Timing recovery is then accomplished by means of a two step procedure in which an estimate of S(θ) is computed first and then is exploited to obtain the timing errors.

In step 42, it is assumed that the accuracy of the CFO estimates obtained in the first stage of the ranging process is such that {tilde over (ω)}≅ω. Then, from Equation 21, the ML estimate of S(θ) based on the observed vectors {Y_(m)}_(m=0) ^(M−1) is found to be:

$\begin{matrix} {{\hat{S}(\theta)} = {{T^{- 1}\left( \hat{\omega} \right)}{\sum\limits_{m = 0}^{M - 1}{{D_{m}^{H}\left( \hat{\omega} \right)}Y_{m}}}}} & (22) \end{matrix}$

where T({circumflex over (ω)}) is the following matrix:

$\begin{matrix} {{T\left( \hat{\omega} \right)} = {\sum\limits_{m = 0}^{M - 1}{{D_{m}^{H}\left( \hat{\omega} \right)}{{D_{m}\left( \hat{\omega} \right)}.}}}} & (23) \end{matrix}$

Substituting Equation 21 into Equation 22 yields:

$\begin{matrix} {{\hat{S}(\theta)} = {{S(\theta)} + {{T^{- 1}\left( \hat{\omega} \right)}{\sum\limits_{m = 0}^{M - 1}{{D_{m}^{H}\left( \hat{\omega} \right)}n_{m}}}}}} & (24) \end{matrix}$

from which it follows that Ŝ(θ) is an unbiased estimate of S(θ) and can be similarly partitioned as [Ŝ₁(θ₁)Ŝ₂(θ₂) . . . Ŝ_(K)(θ_(K))]^(T). The kth subvector Ŝ_(k)(θ_(k)) is composed of Q segments {Ŝ_(k)(θ_(k),i_(q))}_(q=0) ^(Q−1) each corresponding to a specific tile in the considered ranging subchannel. From Equation 24, it can be seen that the with entry of Ŝ_(k)(θ_(k),i_(q)), say Ŝ_(k)(θ_(k),i_(q,v)), is an unbiased estimate of the quantity S_(k)(θ_(k),i_(q,v)) defined in Equation 6. Hence, from Equations 6 and 7 it follows that:

$\begin{matrix} {{{\hat{S}}_{k}\left( i_{q,v} \right)} = {{^{{- j}\frac{2\pi \; \theta_{k}}{N}i_{q,v}}{\sum\limits_{l = 0}^{L - 1}{{h_{k}(l)}^{{- j}\frac{2\pi \; n}{N}i_{q,v}}}}} + {\xi_{k}\left( i_{q,v} \right)}}} & (25) \end{matrix}$

where ξ_(k)(i_(q,v)) is a zero-mean disturbance term. The quantities {Ŝ_(k)(θ_(k),i_(q,v))}_(q=0) ^(Q−1) are collected into a Q-dimensional vector Ŝ_(k)(θ_(k),v) and Φ(θ_(k),v)=diag{e^(−j2πθ) ^(k) ^(i) ^(q,v) ^(/N);0≦q≦Q−1} is defined. Then, omitting for simplicity the functional dependence of Ŝ_(k)(θ_(k),v) on θ_(k), from Equation 25 it follows that

Ŝ _(k)(v)=Φ(θ_(k) ,v)F(v)h _(k)+ξ_(k)(v)  (26)

where ξ_(k)(v)=[ξ_(k)(i_(0,v)), ξ_(k)(i_(1,v)), . . . , ξk(i_(Q−1,v))]^(T) while F(v) is a matrix of dimensions Q×L with entries:

$\begin{matrix} {{\left\lbrack {F(v)} \right\rbrack_{q,l} = ^{{- j}\frac{2\pi}{N}{li}_{q,v}}},{0 \leq q \leq {Q - {1\mspace{14mu} {and}\mspace{14mu} 0}} \leq l \leq {L - 1.}}} & (27) \end{matrix}$

Equation 26 indicates that, apart from the disturbance vector ξ_(k)(v), Ŝ_(k)(v) is only contributed by the kth RSS, meaning that ranging signals have been successfully decoupled at the BS. Vectors {Ŝ_(k)(v);v=0, 1, . . . , V−1} can thus be used to obtain LS estimates of (θ_(k),h_(k)) individually for each RSS. This amounts to looking for the minimum of the following objective function:

$\begin{matrix} {{\Lambda_{k}\left( {{\overset{\sim}{\theta}}_{k},{\overset{\sim}{h}}_{k}} \right)} = {\sum\limits_{v = 0}^{V - 1}{{{{\overset{\sim}{S}}_{k}(v)} = {{\Phi \left( {{\overset{\sim}{\theta}}_{k},v} \right)}{F(v)}{\overset{\sim}{h}}_{k}}}}^{2}}} & (28) \end{matrix}$

with respect to {tilde over (θ)}_(k) and {tilde over (h)}_(k). For a given {tilde over (θ)}_(k), the minimum occurs at:

$\begin{matrix} {{\hat{h}}_{k} = {\frac{1}{QV}{\sum\limits_{v = 0}^{V - 1}{{F^{H}(v)}{\Phi^{H}\left( {{\hat{\theta}}_{k},v} \right)}{{\hat{S}}_{k}(v)}}}}} & (29) \end{matrix}$

where the identity F^(H)(v)F(v)=Q·I_(L) has been used, which holds true as long as L≦Q. Then, substituting Equation 29 into Equation 28 and minimizing with respect to θ_(k), yields the timing estimate used in step 44, in the form:

$\begin{matrix} {{\hat{\theta}}_{k} = {\underset{0 \leq {\overset{\sim}{\theta}}_{k} \leq \theta_{\max}}{\arg \; \max}\left\{ {\mathrm{\Upsilon}_{k}\left( {\overset{\sim}{\theta}}_{k} \right)} \right\}}} & (30) \end{matrix}$

where γ_(k)({tilde over (θ)}_(k)) is given by:

$\begin{matrix} {{\mathrm{\Upsilon}_{k}\left( {\overset{\sim}{\theta}}_{k} \right)} = {{{\sum\limits_{v = 0}^{V - 1}{{F^{H}(v)}{\Phi^{H}\left( {{\overset{\sim}{\theta}}_{k},v} \right)}{{\hat{S}}_{k}(v)}}}}^{2}.}} & (31) \end{matrix}$

The timing metric can be rewritten as:

$\begin{matrix} {{\mathrm{\Upsilon}_{k}\left( {\overset{\sim}{\theta}}_{k} \right)} = {\sum\limits_{l = \theta_{k}}^{{\overset{\sim}{\theta}}_{k} + L - 1}{{\sum\limits_{v = 0}^{V - 1}{{{\hat{s}}_{k}\left( {v,l} \right)}^{j\frac{2\; \pi \; l}{N}v}}}}^{2}}} & (32) \end{matrix}$

where ŝ_(k)(v,l) is the Q-point inverse DFT (IDFT) of the sequence {Ŝ_(k)(i_(q,v))}_(q=0) ^(Q−1), i.e.,

$\begin{matrix} {{{\hat{s}}_{k}\left( {v,l} \right)} = {\sum\limits_{q = 0}^{Q - 1}{{{\hat{S}}_{k}\left( i_{q,v} \right)}{^{j\frac{2\; \pi \; l}{Q}q}.}}}} & (33) \end{matrix}$

The algorithm of Equation 30 is referred to herein as the LS-based timing estimator (LS-TE). Note that for V=1 the timing metric reduces to:

$\begin{matrix} {{\mathrm{\Upsilon}_{k}\left( {\overset{\sim}{\theta}}_{k} \right)} = {\sum\limits_{l = {\overset{\sim}{\theta}}_{k}}^{{\overset{\sim}{\theta}}_{k} + L - 1}{{{\hat{s}}_{k}\left( {0,l} \right)}}^{2}}} & (34) \end{matrix}$

and becomes periodic in {tilde over (θ)}_(k) with period Q. In such a case, the estimate {tilde over (θ)}_(k) is affected by an ambiguity of multiples of Q. This ambiguity does not represent a serious problem as long as Q can be chosen greater than θ_(max). Unfortunately, in some applications this may not be the case. To avoid such an impairment, each tile must be composed by V>1 adjacent subcarriers.

FIG. 5 is a flowchart showing step 24 of FIG. 1 in greater detail. Step 24 aims at estimating the power levels of signals transmitted by the RSSs. In step 46, the ML estimation vector produced in step 42 and shown in Equation 24 is utilized, and power level estimation is accomplished on the basis of Equation 8 above. It is observed from Equation 24 that the entry Ŝ_(k)(i_(q,v)) is an unbiased estimate of S_(k)(i_(q,v)) with variance:

σ_(k) ²(i _(q,v))=σ² [T ⁻¹({circumflex over (ω)})]_(μ) _(k) _((q,v),μ) _(k) _((q,v))  (35)

where μ_(k)(q,v)=(k−1)QV+qV+v+1. An unbiased estimate of |S_(k)(i_(q,v))|² is thus given by |Ŝ_(k)(i_(q,v))|²−σ_(k) ²(i_(q,v)). This fact, together with Equations 8 and 35, leads to the following LS-based power estimation algorithm (referred to herein as “LS-PE”) utilized in step 48 to calculate the power levels:

$\begin{matrix} {{\hat{P}}_{k} = {\frac{1}{QV}{\sum\limits_{q = 0}^{Q - 1}{\sum\limits_{v = 0}^{V - 1}\left\lbrack {{{{\hat{S}}_{k}\left( i_{q,v} \right)}}^{2} - {{\hat{\sigma}}_{k}^{2}\left( i_{q,v} \right)}} \right\rbrack}}}} & (36) \end{matrix}$

where {circumflex over (σ)}_(k) ²(i_(q,v))={circumflex over (σ)}²[T⁻¹({circumflex over (ω)})]_(μ) _(k) _((q,v),μ) _(k) _((q,v)) and {circumflex over (σ)}² is given in Equation 17.

To assess the computational load (complexity) of LS-TE, it is useful to distinguish between a first stage, leading to the sequences {ŝ_(k)(v,l)}_(l=0) ^(Q−1) in Equation 33, for 0≦v≦V−1, and a second stage where these sequences are used to compute the timing metrics of the detected codes. First, it is observed that a complexity of order O(KN log₂(N)) is required to determine the matrices D_(m)({circumflex over (ω)}_(k)) for k=1, 2, . . . , K, while computing the matrix T({circumflex over (ω)}) and vector Σ_(m=0) ^(M−1)D_(m) ^(H)({circumflex over (ω)})Y_(m) requires O(MK²Q³V³) and O(MKQ²V²) operations, respectively. Evaluation of Ŝ(θ) through Equation 22 is equivalent to solving a linear system of order KQV and needs O(K²Q²V²) operations. Finally, the complexity of the IDFT in Equation 33 is O(Q log₂(Q)) for each value of v. Since most of the processing is devoted to the computation of T({circumflex over (ω)}) the overall complexity in the first stage can reasonably be approximated as O(MK²Q³V³). In the second stage of the estimation process, the timing metric of Equation 32 is computed for all candidate values {tilde over (θ)}_(k) and all detected codes. Observing that O(VL) operations are required for each quantity γ_(k)({tilde over (θ)}_(k)), the computational burden of the second stage is O(KVLθ_(max)). The overall complexity of LS-TE is summarized in the first row of Table 1 below. Reduced complexity timing delay estimates (“RC-TE”) are provided for comparison purposes. RC-TE is described below in connection with FIG. 6.

TABLE 1 Algorithm First stage Second stage LS-TE O(MK²Q³V³) O(KVLθ_(max)) RC-TE O(KQV(M + K)) O(KVL(Q + PV)) RC-TE (V = 2) O(2KQ(M + K)) O(2LKQ)

FIG. 6 is a flowchart showing processing steps according to the present invention, indicated generally at 50, for estimating power levels and timing delays during initial ranging with reduced computational load (complexity). This approach relies on the assumption that the CFOs are small during the ranging process and result only in negligible phase rotations over one OFDM block. In such a case, an estimate of S(θ) can easily be obtained from the observations {Y(i_(q,v))} in Equation 11. In step 52, an ML estimation procedure is applied to {Y(i_(q,v))}. First, a K-dimensional vector S(i_(q,v))=(i_(q,v)), S₂(i_(q,v)), . . . , S_(K)(i_(q,v))] is defined in order to rewrite Equation 11 in the equivalent form:

Y(i _(q,v))=C(ω)S(i _(q,v))+n(i _(q,v))  (37)

where C(ω)=[σ(ω₁)c₁Γ(ω₂)c₂ . . . Γ(ω_(K))c_(K)] is a matrix of dimensions M×K. Then, after letting {circumflex over (ω)}≈ω, Equation 37 is used to find the ML estimate in step 52 of S(i_(q,v)) as:

Ŝ(i _(q,v))=[C ^(H)({circumflex over (ω)})C({circumflex over (ω)})]⁻¹ C ^(H)({circumflex over (ω)})Y(i _(q,v))  (38)

Substituting Equation 37 into Equation 38 yields:

Ŝ(i _(q,v))=S(i _(q,v))+ψ(i _(q,v))  (39)

where ψ(i_(q,v)) is a zero-mean disturbance vector with covariance matrix σ²[C^(H)({circumflex over (ω)})C({circumflex over (ω)})]⁻¹. This means that, as long as the simplified model specified in Equation 37 is sufficiently accurate, Ŝ(i_(q,v)) is an unbiased estimate of S(i_(q,v)). Its entries {Ŝ_(k)(i_(q,v))}_(k=1) ^(K) are then used to compute an estimate of the power level P_(k) as indicated in step 54:

$\begin{matrix} {{\hat{P}}_{k} = {\frac{1}{Q\; V}{\sum\limits_{q = 0}^{Q - 1}{\sum\limits_{v = 0}^{V - 1}\left\lbrack {{{{\hat{S}}_{k}\left( i_{q,v} \right)}}^{2} - {{\hat{\sigma}}^{2}\left\lbrack {{C^{H}\left( \hat{\omega} \right)}{C\left( \hat{\omega} \right)}} \right\rbrack}_{k,k}^{- 1}} \right\rbrack}}}} & (40) \end{matrix}$

where {circumflex over (σ)}² is still given in Equation 17.

To quantify the computational saving of the simplified ML estimation algorithm of Equation 38 utilized in step 52 with respect to Equation 22, it is observed that O(MK²) and O(MK) operations are needed to obtain C^(H)({circumflex over (ω)})C({circumflex over (ω)}) and C^(H)({circumflex over (ω)})Y(i_(q,v)), respectively, while O(K²) operations are further required for evaluating the right hand side of Equation 38. Since C^(H)({circumflex over (ω)})C({circumflex over (ω)}) is independent of q and v, the overall complexity involved in the computation of for 0≦q≦Q−1 and 0≦v≦V−1 is approximately O(KQV(M+K)). Additional O(QV log₂ Q) operations are eventually needed by the IDFTs in Equation 33. Compared to the first stage of LS-TE, it follows that the computational burden is reduced by a factor MKQ²V²/(M+K), which may be significant even for small values of the product QV.

Evaluating γ_(k)({tilde over (θ)}_(k)) for each value {tilde over (θ)}_(k)=0, 1, . . . , θ_(max) may still be computationally demanding, especially when θ_(max) is large. A viable method to further reduce the system complexity is to decompose the timing error θ_(k) into a fractional part β_(k), less than Q, plus an integer part which is multiple of Q. This amounts to setting:

θ_(k)=β_(k) +p _(k) Q  (41)

where β_(k)ε{0, 1, . . . , Q−1} while p_(k) is an integer parameter taking values in the set {0, 1, . . . , P−1}, with P=└θ_(max)/Q┘. In such a case, the timing metric of Equation 32 can be manipulated into the equivalent form:

$\begin{matrix} {\mspace{79mu} {{{\mathrm{\Upsilon}_{k}\left( {\overset{\sim}{\theta}}_{k} \right)} = {{\mathrm{\Upsilon}_{k}^{(l)}\left( {\overset{\sim}{\beta}}_{k} \right)} + {\mathrm{\Upsilon}_{k}^{(2)}\left( {{\overset{\sim}{\beta}}_{k},{\overset{\sim}{p}}_{k}} \right)}}}\mspace{85mu} {{where}\text{:}}}} & (42) \\ {\mspace{85mu} {{{\mathrm{\Upsilon}_{k}^{(1)}\left( {\overset{\sim}{\theta}}_{k} \right)} = {\sum\limits_{l = {\overset{\sim}{\theta}}_{k}}^{{\overset{\sim}{\theta}}_{k} + L - 1}{\sum\limits_{v = 0}^{V - 1}{{{\hat{s}}_{k}\left( {v,l} \right)}}^{2}}}}\mspace{85mu} {{and}\text{:}}}} & (43) \\ {{\mathrm{\Upsilon}_{k}^{(2)}\left( {{\overset{\sim}{\beta}}_{k},{\overset{\sim}{p}}_{k}} \right)} = {2\; {Re}\left\{ {\sum\limits_{l = {\overset{\sim}{\beta}}_{k}}^{{\overset{\sim}{\beta}}_{k} + L - 1}{\sum\limits_{v = 0}^{V - 2}{\sum\limits_{n = 1}^{V - v - 1}{{{\hat{s}}_{k}\left( {v,l} \right)}{{\hat{s}}_{k}^{*}\left( {{v + n},l} \right)}^{{- j}\frac{2\pi \; n}{N}{({l + {{\overset{\sim}{p}}_{k}Q}})}}}}}} \right\}}} & (44) \end{matrix}$

Clearly, maximizing γ_(k)({tilde over (θ)}_(k)) with respect to {tilde over (θ)}_(k) requires a grid search over all candidate pairs ({tilde over (β)}_(k), {tilde over (p)}_(k)). However, the decomposition of Equation 42 provides a reduced-complexity solution to approach the global maximum. This simplified algorithm computes an estimate in step 56 of timing delays β_(k) by looking for the maximum of γ_(k) ^((l))({tilde over (β)}_(k)) i.e.,

$\begin{matrix} {{\hat{\beta}}_{k} = {\underset{0 \leq {\overset{\sim}{\beta}}_{k} \leq {Q - 1}}{\arg \; \max}\left\{ {\mathrm{\Upsilon}_{k}^{(1)}\left( {\overset{\sim}{\beta}}_{k} \right)} \right\}}} & (45) \end{matrix}$

Then, after substituting {circumflex over (β)}_(k) into the right-hand-side of Equation 42 and maximizing with respect to {tilde over (ρ)}_(k), an estimate of p_(k) is obtained in step 56 in the form:

$\begin{matrix} {{\hat{p}}_{k} = {\underset{0 \leq {\overset{\sim}{p}}_{k} \leq {P - 1}}{\arg \; \max}\left\{ {\mathrm{\Upsilon}_{k}^{(2)}\left( {{\hat{\beta}}_{k},{\overset{\sim}{p}}_{k}} \right)} \right\}}} & (46) \end{matrix}$

The timing delay estimate is eventually obtained from Equation 41 as {circumflex over (θ)}_(k)={circumflex over (β)}_(k)+{circumflex over (p)}_(k)Q.

Inspection of Equations 45 and 46 indicates that the simplified estimator maximizes γ_(k)({tilde over (θ)}_(k)) in a decoupled fashion, where an estimate of β_(k) is obtained first and is then exploited to get {circumflex over (p)}_(k). In assessing the computational load of this scheme, it is assumed that the quantities {ŝ_(k)(v,l)}_(l=0) ^(Q−1) have already been computed for 0≦v≦V−1. Then, evaluating {circumflex over (β)}_(k) through Equation 45 requires O(QVL) operations while O(QV²L) operations are needed to get {circumflex over (p)}_(k) from Equation 46. Since estimates {circumflex over (β)}_(k) and {circumflex over (p)}_(k) must be obtained for each detected code, the overall complexity in the second stage of the estimation process is approximately O(KVL(Q+PV)). Compared to LS-TE, the computational requirement is thus reduced by a factor θ_(max)/(Q+PV). This advantage is achieved at the price of some performance degradation since the described search procedure is not guaranteed to locate the global maximum of γ({tilde over (θ)}_(k)).

A further simplification is possible by setting V=2. In this case, it is found from Equation 44 that maximizing γ_(k) ⁽²⁾({circumflex over (β)}_(k),{tilde over (p)}_(k)) with respect to {tilde over (p)}_(k) is equivalent to maximizing cos(φ_(k)−2π{tilde over (p)}_(k)Q/N), with:

$\begin{matrix} {\phi_{k} = {\arg \left\{ {\sum\limits_{l = {\overset{\sim}{\beta}}_{k}}^{{\overset{\sim}{\beta}}_{k} + L - 1}{{{\hat{s}}_{k}\left( {0,l} \right)}{{\hat{s}}_{k}^{*}\left( {1,l} \right)}^{{- j}\frac{2\pi \; l}{N}}}} \right\}}} & (47) \end{matrix}$

The estimate {circumflex over (p)}_(k) is thus obtained in closed-form as:

$\begin{matrix} {{\hat{p}}_{k} = {\frac{N\; \phi_{k}}{2\; \pi \; Q}.}} & (48) \end{matrix}$

The reduced-complexity power estimation provided by the algorithm of Equation 40, and implemented in step 54, is referred to herein as the reduced-complexity power estimator (RC-PE).

FIG. 7 is a block diagram showing a sample hardware and software/firmware arrangement for implementing the present invention, indicated generally at 90. The present invention can be implemented as a plurality of software and/or firmware modules 96 which are executed by a standard OFDMA base station transceiver 94 having an antenna system 92. The base station receiver 94 could be any suitable base station transceiver which operates using OFDM technology. The modules 96 could be coded in any suitable high-level or low-level programming language, such as C, C++, C#, Java, assembly language, or any suitable equivalent. The modules could be provided in an OFDMA transceiver in the form of a customized integrated circuit (IC), or distributed using any suitable computer-readable medium (e.g., diskette, tape, CD-ROM, DVD, portable flash memory device, etc.) for subsequent installation of the modules in an existing OFDMA transceiver. Still further, the modules could be downloaded to an OFDMA transceiver by way of a network connection (e.g., via the Internet).

The modules 96 are programmed in accordance with the processing steps discussed above, and include an active code identification module 98, a CFO estimation module 100, a timing delay estimation module 102, and a power level estimation module 104. The active code identification module 98 processes the ranging OFDM blocks received by the transceiver 94 from RSSs in communication with the transceiver 94, to identify active codes. The active codes are then processed by the modules 100-104 to provide estimates of the corresponding CFOs, timing delays, and power levels. These estimates are then broadcast by the transceiver 94 to the RSSs so that each one can adjust its transmission parameters to the BS reference scales 94.

Software simulation testing was conducted to ascertain the performance characteristics of the present invention. Simulations of an IEEE 802.16 wireless MAN programmed in accordance with the present invention was conducted, which had a total of N=1024 subcarriers over an uplink bandwidth of 11.4 MHz. The sampling period is T_(s)=87.5 ns, corresponding to a subcarrier distance of 1/(NT_(s))=11.16 kHz. It was assumed that R=8 subchannels were available for initial ranging. Each subchannel was divided into Q=16 tiles uniformly spaced over the signal spectrum at a distance of N/Q=64 subcarriers. To reduce the system complexity, the number of subcarriers in any tile was set to V=2. Each ranging time-slot included M=4 OFDM blocks. The ranging codes were taken from a Fourier set of length 4 and are randomly selected by the RSSs at each simulation run (expect for the sequence [1,1,1,1]^(T)). The discrete-time CIRs had order L=12. Their entries were modeled as independent and circularly symmetric Gaussian random variables with zero means and an exponential power delay profile, i.e.,

E{|h _(k)(l)|²}=σ_(h,k) ²exp(−l/12),l=0, 1, . . . , 11  (49)

where σ_(h,k) ² is related to the average transmission power of the kth RSS. In all subsequent simulations, σ_(h,k) ² was chosen such that E{∥h_(k)∥²}=1 for 1≦k≦K. In this way, the powers {P_(k)}_(k=1) ^(K) of the ranging signals are random variables with unit means. Channels of different users were assumed to be statistically independent of each other. They were generated at each new simulation run and kept fixed over an entire time-slot. A cell radius of 10 km was considered, corresponding to a maximum propagation delay of θ_(max)=204 sampling periods. Ranging blocks were preceded by a CP of length N_(G)=256 in order to avoid IBI. The normalized CFOs were uniformly distributed over the interval [−Ω,Ω] and varied at each run. Recalling that the estimation range of MFE is |ε_(k)|<N/(2MN_(T)), Ω≦0.1 was set throughout the simulations. The results of simulations are shown in FIGS. 8-14.

Simulations began by investigating the performance of MCD in terms of probability of making an incorrect detection, say P_(f). The latter is defined as the probability that the set of detected codes does not coincide with the set of codes participating in the ranging process. FIG. 8 illustrates P_(f) as a function of the signal-to-noise ratio (SNR) defined as SNR=1/σ². The number of active RSSs is either 2 or 3 while the maximum CFO is Ω=0.05. Comparisons were made with the ranging scheme proposed by Fu, Li and Minn (FLM), where the kth ranging code is declared active provided that the quantity:

$\begin{matrix} {Z_{k} = {\frac{1}{M^{2}}{\sum\limits_{q = 0}^{Q - 1}{\sum\limits_{v = 0}^{V - 1}{{c_{k}^{H}{Y\left( i_{q,v} \right)}}}^{2}}}}} & (50) \end{matrix}$

exceeds a suitable threshold t_(i) which is proportional to the estimated noise power {circumflex over (σ)}². The results of FIG. 8 indicate that MCD performs remarkably better than FLM. As expected, the system performance deteriorates as K approaches M. The reason is that increasing K reduces the dimensionality of the noise subspace, which degrades the accuracy of MCD.

FIG. 9 illustrates the root mean-square error (RMSE) of the frequency estimates obtained with MFE versus SNR for K=2 or 3 and Ω=0.05. It can be seen that the system performance deteriorates as K increases. Nevertheless, the accuracy of MFE is satisfactory under all investigated conditions.

The impact of the CFOs on the performance of MFE was assessed in FIG. 10, where the RMSE is shown as a function of Ω. The SNR was fixed to 10 dB while K was still 2 or 3. As expected, the accuracy of the frequency estimates degrades with Ω due to increased amount of inter-channel interference (ICI) that affects the received signal. However, the loss is quite small over the full range Ω≦0.1

The performance of the timing estimators was measured in terms of probability of making a timing error, say, P(ε). An error event was declared to occur whenever the estimate {circumflex over (θ)}_(k) gave rise to IBI during the data section of the frame. In such a case, the quantity {circumflex over (θ)}_(k)+θ_(k)(L−N_(G,D))/2 is larger than zero or smaller than L−N_(G,D)−1, where N_(G,D) is the CP length during the data transmission period. In our simulations, we set N_(G,D)=64. FIG. 11 illustrates P(ε) vs. SNR as obtained with RC-TE, LS-TE and FLM. The number of active codes was K=2 or 3 while Ω=0.05. It can be seen that for SNR larger than 6 dB RC-TE and LS-TE provided much better results than FLM. Also, the loss of RC-TE with respect to LS-TE is negligible in all considered situations.

FIG. 12 shows the timing estimators compared in terms of their sensitivity to CFOs. For this purpose, P(ε) is shown as a function of Ω for K=2 or 3 and SNR=10 dB. Again, it can be seen that LS-TE was slightly better than RC-TE and both schemes outperformed FLM. For K=2 and 3, RC-TE and LS-TE were quite robust to CFOs.

FIG. 13 illustrates the RMSE of the power estimates as a function of SNR. The number of active RSSs was either 2 or 3 while Q=0.05. Comparisons were made with the known FLM algorithm, where an estimate of P_(k) is computed as {circumflex over (P)}_(k)=Z_(k)/(QV)−{circumflex over (σ)}²/M. As can be seen, in all considered scenarios, RC-PE and LS-PE outperformed FLM. The accuracy of RC-PE and LS-PE reduced as K grew large, while the performance of FLM was nearly the same with either K=2 or 3.

The impact of residual CFOs on the RMSE of the power estimates was assessed as shown in FIG. 14, where the RMSE is shown as a function of Ω. Again, the SNR was fixed to 10 dB and K was either 2 or 3. As can be seen, LS-PE performed slightly better than RC-PE. Both schemes were extremely robust to CFOs when K is either 2 or 3.

FIG. 15 is a flowchart showing another embodiment of the present invention, indicated generally at 120, wherein CFOs, timing errors, and power levels are estimated using the known EPSRIT algorithm. The ESPRIT algorithm is beneficial because it can be implemented with reduced computational complexity, and is suitable for use in systems where pilot symbols are spread in both the time and frequency domains using ranging codes belonging to a Fourier basis.

The embodiment shown in FIG. 15 can be employed in an OFDMA system employing N subcarriers with index set {0, 1, . . . , N−1}. It is assumed that a ranging time-slot is composed by M consecutive OFDMA blocks while the N available subcarriers are grouped into ranging subchannels and data subchannels. The former are used by the active RSSs to initiate their ranging processes, while the latter are assigned to DSSs for data transmission. R denotes the number of ranging subchannels, and it is assumed that each of them is divided into Q subbands. A given subband is composed of a set of V adjacent subcarriers, which is called a tile. The subcarrier indices of the qth tile (q=0, 1, . . . , Q−1) in the rth subchannel (r=0, 1, . . . , R−1) are collected into a set J_(q) ^((r))={i_(q) ^((r))+v}_(v=0) ^(V−1), where the tile index i_(q) ^((r)) can be chosen adaptively according to the actual channel conditions. The only constraint in the selection of i_(q) ^((r)) is that different tiles must be disjoint, i.e., J_(q) ₁ ^((r) ¹ ⁾∩J_(q) ₂ ^((r) ² ⁾=Ø for r₁≠r₂. The rth ranging subchannel is thus composed of QV subcarriers with indices in the set J^((r))=∪_(q=0) ^(Q−1)J_(q) ^((r)), while a total of N_(R)=QVR ranging subcarriers is available in each OFDMA block.

It is assumed that each subchannel can be accessed by a maximum number of K_(max)=min{V,M}−1 RSSs, which are separated by means of orthogonal codes in both the time and frequency domains. The codes are selected in a pseudo-random fashion from a predefined set {C₀, C₁, . . . , C_(K) _(max) ⁻¹} with

$\begin{matrix} {\left\lbrack C_{k} \right\rbrack_{v,m} = ^{j\; 2\; \pi \; {k{({\frac{v}{V - 1} + \frac{m}{M - 1}})}}}} & (51) \end{matrix}$

where v=0, 1, . . . , V−1 counts the subcarriers within a tile and is used to perform spreading in the frequency domain, while m=0, 1, . . . , M−1 is the block index by which spreading is done in the time domain across the ranging time-slot. It is assumed that different RSSs select different codes. Also, it is assumed that a selected code is employed by the corresponding RSS over all tiles in the considered subchannel. Without loss of generality, we concentrate on the rth subchannel and denote by K≦K_(max) the number of simultaneously active RSSs. To simplify the notation, the subchannel index (r) is dropped henceforth.

The signal transmitted by the kth RSS propagates through a multipath channel characterized by a channel impulse response (CIR) h_(k)=[h_(k)(0), h_(k)(1), . . . , h_(k)(L−1)]^(T) of length L (in sampling periods). We denote by θ_(k) the timing error of the kth RSS expressed in sampling intervals T_(s), while ε_(k) is the frequency offset normalized to the subcarrier spacing. During IR, the CFOs are only due to Doppler shifts and/or to estimation errors and, in consequence, they are assumed to lie within a small fraction of the subcarrier spacing. Timing offsets depend on the distance of the RSSs from the BS and their maximum value is thus limited to the round trip delay from the cell boundary. In order to eliminate IBI, it is assumed that, during the ranging process, the CP length comprises N_(G)≧θ_(max)+L sampling periods, where θ_(max) is the maximum expected timing error. This assumption is not restrictive as initialization blocks are usually preceded by long CPs in many standardized OFDM systems.

In step 126, a ranging subchannel is extracted from the DFT outputs corresponding to the received OFDM blocks. We denote by X_(m)(q)=[X_(m)(i_(q)), X_(m)(i_(q+1)), . . . , X_(m)(i_(q)+V−1)]^(T) the DFT outputs corresponding to the qth tile in the mth OFDMA block. Since DSSs have successfully completed their IR processes, they are perfectly aligned to the BS references and their signals do not contribute to X_(m)(q). In contrast, the presence of uncompensated CFOs destroys orthogonality among ranging signals and gives rise to ICI. The latter results in a disturbance term plus an attenuation of the useful signal component. To simplify the analysis, in the ensuing discussion the disturbance term is treated as a zero-mean Gaussian random variable while the signal attenuation is considered as part of the channel impulse response. Under the above assumptions, we may write

$\begin{matrix} {{X_{m}\left( {i_{q} + v} \right)} = {{\sum\limits_{k = 1}^{K}{\left\lbrack C_{l_{k}} \right\rbrack_{v,m}^{j\; m\; \omega_{k}N_{T}}{d_{k}(q)}{H_{k}\left( {\theta_{k},ɛ_{k},{i_{q} + v}} \right)}}} + {w_{m}\left( {i_{q} + v} \right)}}} & (52) \end{matrix}$

where ω_(k)=2πε_(k)/N, N_(T)=N+N_(G) denotes the duration of the cyclically extended block and C_(l) _(k) is the code matrix selected by the kth RSS. The quantity d_(k)(q) is a unit-amplitude PSK symbol transmitted by the kth RSS on the qth tile while H_(k)(θ_(k),ε_(k),n) is the kth equivalent channel frequency response over the nth subcarrier and is given by

H _(k)(θ_(k),ε_(k) ,n)=γ_(N)(ε_(k))H′ _(k)(n)e ^(−j2πnθ) ^(k) ^(/N)  (53)

where H′_(k)(n)=Σ_(l=0) ^(L−1)h′_(k)(l)e^(−j2πnl/N) is the true channel frequency response, while

$\begin{matrix} {{\gamma_{N}(ɛ)} = {\frac{\sin \left( {\pi \; ɛ} \right)}{N\; \sin \; \left( {\pi \; {ɛ/N}} \right)}^{j\; \pi \; {{ɛ{({N - 1})}}/N}}}} & (54) \end{matrix}$

is the attenuation factor induced by the CFO. In many practical situations, the contribution of γ_(N)(ε) can be ignored since its magnitude is close to unity. As an example, for N=1024 and |ε|<0.1 we have |γ_(N)(ε)|>0.98. The last term in Equation 52 accounts for background noise and is modeled as a circularly symmetric complex Gaussian random variable with zero-mean and variance σ_(w) ²=σ_(n) ²+σ_(ICI) ², where σ_(n) ² and σ_(ICI) ² are the average noise and ICI powers, respectively. As mentioned earlier, the code matrix selected by each RSS is employed over all tiles in the considered subchannel. Furthermore, from Equation 53 we see that θ_(k) appears only as a phase shift across the DFT outputs. The reason is that the CP duration is longer than the maximum expected propagation delay, thereby making the ranging signals quasi-synchronous at the BS.

To proceed further, it is assumed that the tile width is much smaller than the channel coherence bandwidth. In this case, the channel response is nearly flat over each tile and we may reasonably replace the quantities {H′_(k)(i_(q)+v)}_(v=0) ^(V−1) with an average frequency response

$\begin{matrix} {{\overset{\_}{H}}_{q}^{\prime} = {\frac{1}{V}{\sum\limits_{v = 0}^{V - 1}{{H_{k}^{\prime}\left( {i_{q} + v} \right)}.}}}} & (55) \end{matrix}$

Substituting Equations 51 and 53 into Equation 52, and bearing in mind Equation 55, yields

$\begin{matrix} {{X_{m}\left( {i_{q} + v} \right)} = {{\sum\limits_{k = 1}^{K}{^{j\; 2\; {\pi {({{m\; \zeta_{k}} + {v\; \eta_{k}}})}}}{S_{k}(q)}}} + {w_{m}\left( {i_{q} + v} \right)}}} & (56) \end{matrix}$

where S_(k)(q)=γ_(N)(ε_(k)) H′_(k)(q)e^(−j2πi) ^(q) ^(θ) ^(k) ^(/N) and we have defined the quantities

$\begin{matrix} {{\xi_{k} = {\frac{1_{k}}{M - 1} + \frac{ɛ_{k}N_{T}}{N}}}{and}} & (57) \\ {\eta_{k} = {\frac{1_{k}}{V - 1} - \frac{\theta_{k}}{N}}} & (58) \end{matrix}$

which are referred to as the effective CFOs and timing errors, respectively.

As discussed below, the DFT outputs {X_(m)(i_(g)+v)} can be exploited to identify the active codes and to estimate the corresponding timing errors and CFOs.

In step 128, the number K of active codes over the considered ranging subchannel is determined. For this purpose, we collect the (i_(q)+v)th DFT outputs across all ranging blocks) into an M-dimensional vector Y(i_(q,v))=[X₀(i_(q)+v), X₁(i_(q)+v), . . . , X_(M−1)(i_(q)+v)]^(T) given by

$\begin{matrix} {{Y\left( i_{q,v} \right)} = {{\sum\limits_{k = 1}^{K}{^{j\; 2\; \pi \; v\; \eta_{k}}{S_{k}(q)}{e_{M}\left( \xi_{k} \right)}}} + {w\left( i_{q,v} \right)}}} & (59) \end{matrix}$

where w(i_(q,v))=[w₀(i_(q)+v), w₁(i_(q)+v), . . . , w_(M−1)(i_(q)+v)]^(T) is Gaussian distributed with zero mean and covariance matrix σ_(w) ²I_(M) while e_(M)(ξ)=[1,e^(j2πξ), e^(j4πξ), . . . , e^(j2π(M−1)ξ)]^(T).

From Equation 59 above, it can be observed that Y(i_(q,v)) has the same structure as measurements of multiple uncorrelated sources from an array of sensors. Hence, an estimate of K can be obtained by performing an EVD of the correlation matrix R_(Y)=E{Y(i_(q,v))Y^(H)(i_(q,v))}. In practice, however, R_(Y) is not available at the receiver and must be replaced by some suitable estimate. One popular strategy to get an estimate of R_(Y) is based on the FB principle. Following this approach, R_(Y) is replaced by

{circumflex over (R)} _(Y)=½({tilde over (R)} _(Y) +J{tilde over (R)} _(Y) J ^(T))  (60)

where {tilde over (R)}_(Y) is the sample correlation matrix

$\begin{matrix} {{\overset{\sim}{R}}_{Y} = {\frac{1}{QV}{\sum\limits_{q = 0}^{Q - 1}{\sum\limits_{v = 0}^{V - 1}{{Y\left( i_{q,v} \right)}{Y^{H}\left( i_{q,v} \right)}}}}}} & (61) \end{matrix}$

while J is the exchange matrix with 1's on the anti-diagonal and 0's elsewhere. Arranging the eigenvalues {circumflex over (λ)}₁≧{circumflex over (λ)}₂≧ . . . ≧{circumflex over (λ)}_(M−1) of {circumflex over (R)}_(Y) in non-increasing order, an estimate {circumflex over (K)} of the number of active codes can be found by applying the MDL information-theoretic criterion. This amounts to looking for the minimum of the following objective function

F({circumflex over (K)})=½{tilde over (K)}(2M−{tilde over (K)})ln(QV)−QV(M−{tilde over (K)})ln ρ({tilde over (K)})  (62)

where ρ({tilde over (K)}) is the ratio between the geometric and arithmetic means of {{circumflex over (λ)}_(K+1), {circumflex over (λ)}_(K+2), . . . , {circumflex over (λ)}_(M)}.

In step 130, CFOs are estimated using the ESPRIT algorithm. For simplicity, it is assumed that the number of active codes has been perfectly estimated. Then, an estimate of ξ=[ξ₁, ξ₂, . . . , ξ_(K)]^(T) can be found by applying the ESPRIT algorithm to the model set forth in Equation 59. The eigenvectors of {circumflex over (R)}_(Y) associated to the K largest eigenvalues {circumflex over (λ)}₁≧{circumflex over (λ)}₂≧ . . . ≧{circumflex over (λ)}_(K) are arranged into an M×K matrix Z=[z₁ z₂ . . . z_(K)]. Next, we consider the matrices Z₁ and Z₂ that are obtained by collecting the first M−1 rows and the last M−1 rows of Z, respectively. The entries of ξ are finally estimated in a decoupled fashion as

$\begin{matrix} {{\xi_{k} = {\frac{1}{2\pi}\arg \left\{ {\rho_{y}(k)} \right\}}},{k = 1},2,\ldots \;,K} & (63) \end{matrix}$

where {ρ_(y)(1), ρ_(y)(2), . . . , ρ_(y)(K)} are the eigenvalues of

Z _(Y)=(Z ₁ ^(H) Z ₁ ^(H))⁻¹ Z ₁ ^(H) Z ₂  (64)

and arg{ρ_(y)(k)} denotes the phase angle of ρ_(y)(k) taking values in the interval [−π,π).

After computing estimates of the effective CFOs through Equation 63, the problem arises of matching each {circumflex over (ξ)}_(k) to the corresponding code C_(l) _(k) . This amounts to finding an estimate of l_(k) starting from {circumflex over (ξ)}_(k). For this purpose, we denote by |ε_(max)| the magnitude of the maximum expected CFO and observe from Equation 57 that (M−1)ξ_(k) belongs to the interval J₁ _(k) =[1_(k)−β;1_(k)+β], with β=|ε_(max)|N_(T)(M−1)/N. It follows that the effective CFOs can be univocally mapped to their corresponding codes as long as β<½ since only in that case intervals {J₁ _(k) }_(k=1) ^(K) are disjoint. The acquisition range of the frequency estimator is thus limited to |ε_(max)|N/(2N_(T)(M−1)) and an estimate of the pair (l_(k),ε_(k)) is computed as

$\begin{matrix} {{\hat{l}}_{k} = {{{round}\left( {\left( {M - 1} \right)\xi_{k}} \right)}\mspace{14mu} {and}}} & (65) \\ {{\hat{ɛ}}_{k} = {\frac{N}{N_{T}}\left( {{\hat{\xi}}_{k} - \frac{{\hat{l}}_{k}}{M - 1}} \right)}} & (66) \end{matrix}$

It is worth noting that the arg{•} function in Equation 63 has an inherent ambiguity of multiples of 2π, which translates into a corresponding ambiguity of the quantity {circumflex over (l)}_(k) by multiples of M−1. Hence, recalling that l_(k)ε{0, 1, . . . , K_(max)−1} with K_(max)<M, a refined estimate of l_(k) can be found as

{circumflex over (l)} _(k) ^((F)) =[{circumflex over (l)} _(k)]_(M−1)  (67)

where [x]_(M−1) is the value of x reduced to the interval [0, M−2]. Equation 66 is referred to below as the ESPRIT-based frequency estimator (EFE).

In step 132, timing errors are estimated next. We call X_(m)(q)=[X_(m)(i_(q)), X_(m)(i_(q)+1), . . . , X_(m)(i_(q)+V−1)]^(T) the V-dimensional vector of the DFT outputs corresponding to the qth tile in the mth OFDM block. Then, from Equation 56, we have

$\begin{matrix} {{X_{m}(q)} = {{\sum\limits_{k = 1}^{K}{^{j\; 2\; \pi \; m\; \xi_{k}}{S_{k}(q)}{e_{V}\left( \eta_{k} \right)}}} + {w_{m}(q)}}} & (68) \end{matrix}$

where w_(m)(q)=[w_(m)(i_(q)), w_(m)(i_(q)+1), . . . , w_(m)(i_(q)+V−1)]^(T) is Gaussian distributed with zero mean and covariance matrix σ_(w) ²I_(V) while e_(V)(ρ)=[1, e^(j2πη), e^(j4πη), . . . , e^(j2π(V−1)η)]^(T), Since X_(m)(q) is a superposition of complex sinusoidal signals with random amplitudes embedded in white Gaussian noise, an estimate of η=[η₁, η₂, . . . , η_(K)]^(T) can still be obtained by resorting to the ESPRIT algorithm. Following the previous steps, we first compute {circumflex over (R)}_(X)=½({circumflex over (R)}_(X)+J{circumflex over (R)}_(X) ^(T)J), with

$\begin{matrix} {{\overset{\sim}{R}}_{X} = {\frac{1}{MQ}{\sum\limits_{m = 0}^{M - 1}{\sum\limits_{q = 0}^{Q - 1}{{X_{m}(q)}{{X_{m}^{H}(q)}.}}}}}} & (69) \end{matrix}$

Then, we define a V×K matrix U=[u₁ u₂ . . . u_(K)] whose columns are the eigenvectors of {circumflex over (R)}_(X) associated to the K largest eigenvalues. The effective timing errors are eventually estimated as

$\begin{matrix} {{{\hat{\eta}}_{k} = {\frac{1}{2\pi}\arg \left\{ {\rho_{x}(k)} \right\}}},{k = 1},2,\ldots \;,K} & (70) \end{matrix}$

where {ρ_(x)(1), ρ_(x)(2), . . . , ρ_(x)(K)} are the eigenvalues of

U _(X)=(U ₁ ^(H) U ₁)⁻¹ U ₁ ^(H) U ₂  (71)

while the matrices U₁ and U₂ are obtained by collecting the first V−1 rows and the last V−1 rows of U, respectively.

The quantities {{circumflex over (η)}_(k)}_(k=1) ^(K) are eventually used to find estimates ({circumflex over (l)}_(k),{circumflex over (η)}_(k)) of the associated ranging code and timing error. To accomplish this task, we let α=θ_(max)(V−1)/(2N). Then, recalling that 0≦θ_(k)≦θ_(max), from Equation 58, it can be seen that (V−1)η_(k)+α falls into the range I_(l) _(k) =[l_(k)−α;l_(k)+α]. If θ_(max)<N/(V−1), the quantity α is smaller than ½ and, in consequence, intervals {I_(l) _(k) }_(k=1) ^(K) are disjoint. In this case, there is only one pair (l_(k), θ_(k)) that results into a given η_(k) and an estimate of (l_(k), θ_(k)) is found as

$\begin{matrix} {{\hat{l}}_{k} = {{round}\mspace{11mu} \left( {{\left( {V - 1} \right)\eta_{k}} + \alpha} \right)\mspace{14mu} {and}}} & (72) \\ {{\hat{\theta}}_{k} = {N\left( {\frac{{\hat{l}}_{k}}{V - 1} - {\hat{\eta}}_{k}} \right)}} & (73) \end{matrix}$

A refined estimate of l_(k) is obtained in the form

{circumflex over (l)} _(k) ^((f)) =[{circumflex over (l)} _(k)]_(V−1).  (74)

Equation 73 is referred to below as the ESPRIT-based timing estimator (ETE).

In step 34, code detection is performed. From Equations 67 and 74, it can be seen that two distinct estimates {circumflex over (l)}_(k) ^((F)) and {circumflex over (l)}_(k) ^((f)) are available at the receiver for each code index l_(k). These estimates are now used to decide which codes are actually active in the considered ranging subchannel. For this purpose, we define two sets I^((f))={{circumflex over (l)}_(k) ^((f))}_(k=1) ^(K) and I^((F))={{circumflex over (l)}_(k) ^((F))}_(k=1) ^(K) and observe that, in the absence of any detection error, it should be I^((f))=I^((F))={l_(k)}_(k=1) ^(K). Hence, for any code matrix C_(m)εC the following detection strategy is utilized:

$\begin{matrix} {C_{m}\mspace{14mu} {is}\mspace{14mu} {declared}\mspace{14mu} {as}\mspace{14mu} \left\{ \begin{matrix} {detected} & {{{if}\mspace{14mu} m} \in {I^{(f)}\bigcap I^{(F)}}} \\ {{undected}\mspace{14mu}} & {{{if}\mspace{14mu} m} \notin {I^{(f)}\bigcap{I^{(F)}.}}} \end{matrix} \right.} & (75) \end{matrix}$

The BS notifies the detected codes through a downlink response message. Clearly, if an active RSS is using an undetected code, it must repeat its ranging process until success notification. Equation 75 is referred to below as the ESPRIT-based code detector (ECD).

In step 136, power levels are eventually estimated. Assume that the accuracy of the frequency and timing estimates provided by EFE and ETE is such that {circumflex over (ξ)}≈ξ and {circumflex over (η)}≈η. Then, the ML estimate of Ŝ(q)=[S₁(q), S₂(q), . . . , S_(K)(q)]^(T) for q=0, 1, . . . , Q−1 based on the observation vectors X_(m)(q) is found to be

$\begin{matrix} {{\hat{S}(q)} = {{T^{- 1}\left( {\hat{\xi},\hat{\eta}} \right)}{\overset{\_}{X}\left( {{q;\hat{\xi}},\hat{\eta}} \right)}\mspace{14mu} {where}}} & (76) \\ {{T\left( {\hat{\xi},\hat{\eta}} \right)} = {\sum\limits_{m = 0}^{M - 1}{{E_{m}^{H}\left( {\hat{\xi},\hat{\eta}} \right)}{E_{m}\left( {\hat{\xi},\hat{\eta}} \right)}\mspace{14mu} {and}}}} & (77) \\ {{\overset{\_}{X}\left( {{q;\hat{\xi}},\hat{\eta}} \right)} = {\sum\limits_{m = 0}^{M - 1}{{E_{m}^{H}\left( {\hat{\xi},\hat{\eta}} \right)}{X_{m}(q)}}}} & (78) \end{matrix}$

while E_(m)(ξ,η) is a V×K matrix with entries

[E _(m)({circumflex over (ξ)},{circumflex over (η)})]_(v+1,k)=e^(j2π(m) ^(μk) ^(e) ^(+vη) ^(k) ⁾0≦v≦V−1,1≦k≦K.  (79)

From Equation 52 and letting Ŝ(q)=[S₁(q), S₂(q), . . . , S_(K)(q)]^(T) yields

Ŝ _(k)(q)=S _(k)(q)+μ_(k)(q),k=1,2, . . . ,K  (80)

where μ_(k)(q) is a zero-mean disturbance term with variance σ_(μ) _(k) ²=ρ_(w) ²[T⁻¹({circumflex over (ξ)},{circumflex over (η)})]_(k,k). The above equation indicates that an unbiased estimator of |S_(k)(q)|² is given by |S_(k)(q)|²−σ_(μ) _(k) ². Finally, we define the average power of the kth RSS over the employed ranging subcarriers as

$\begin{matrix} {P_{k} = {\frac{1}{Q}{\sum\limits_{q = 0}^{Q - 1}{{{S_{k}(q)}}^{2}.}}}} & (81) \end{matrix}$

This leads to the following ad hoc power estimator (AHPE):

$\begin{matrix} {{\hat{P}}_{k} = {\frac{1}{Q}{\sum\limits_{q = 0}^{Q - 1}\left\lbrack {{{{\hat{S}}_{k}(q)}}^{2} - {\hat{\sigma}}_{\mu_{k}}^{2}} \right\rbrack}}} & (82) \end{matrix}$

where {circumflex over (ρ)}_(μ) _(k) ²={circumflex over (ρ)}_(w) ²[T⁻¹({circumflex over (ξ)},{circumflex over (η)})]_(k,k) and {circumflex over (ρ)}_(w) ² is given by

$\begin{matrix} {{{\hat{\sigma}}_{w}^{2} = {\frac{1}{M - \hat{K}}{\sum\limits_{i = {\hat{K} + 1}}^{M}{\hat{\lambda}}_{i}}}},} & (83) \end{matrix}$

In step 138, a determination is made as to whether additional ranging subchannels exist. If a positive determination is made, step 126 occurs again, and the processing steps shown in FIG. 15 are repeated so that the additional ranging subchannels can be processed. Otherwise, step 140 occurs, wherein the estimated CFOs, timing errors, and power levels are broadcast to remote users. In the downlink response message, the BS will indicate only the detected codes while undetected RSSs must restart their ranging process.

FIGS. 16A-16C are graphs showing performance results of the ESPRIT-based embodiment of the present invention discussed above in connection with FIG. 15, obtained in software simulations. The investigated system had a total of N=1024 subcarriers over an uplink bandwidth of 3 MHz. The sampling period was T_(s)=0.33 μs, corresponding to a subcarrier distance of 1/(NT_(s))=2960 Hz. It was assumed that R=4 subchannels were available for IR. Each subchannel was divided into Q=16 tiles uniformly spaced over the signal spectrum at a distance of N/Q=64 subcarriers. The number of subcarriers in any tile was V=4 while M=4. The discrete-time CIRs had L=12 taps which were modeled as independent and circularly symmetric Gaussian random variables with zero means and an exponential power delay profile, i.e., E{|h_(k)(1)|²}=σ_(h) ²×exp(− 1/12) for l=0, 1, . . . , 11, where σ_(h) ² is chosen such that E{∥h_(k)∥²}=1 Channels of different users were statistically independent of each other and were kept fixed over an entire time-slot. We considered a maximum propagation delay of θ_(max)=204 sampling periods. Ranging blocks were preceded by a CP of length N_(G)=256. The normalized CFOs are uniformly distributed over the interval [−Ω,Ω] and vary at each run. Recalling that the estimation range of EFE is |ε_(k)|<N/(2N_(T)(M−1)), we set Ω≦0.1.

Performance testing began by investigating the performance of ECD in terms of probability of making an incorrect detection. FIG. 16A illustrates P_(f) as a function of SNR=1/π_(n) ². The number of active RSSs was 2 and 3 while the maximum CFO was either Ω=0.05 or 0.1. Comparisons were made with the ranging scheme proposed by Fu, Li and Minn (FLM). The results of FIG. 16A indicate that ECD performs remarkably better than FLM.

FIG. 16B illustrates the RMSE of the frequency estimates obtained with EFE vs. SNR for K=2 or 3 and Ω=0.05 or 0.1. It can be seen that the accuracy of EFE is satisfactory at SNR values of practical interest. Moreover, EFE has virtually the same performance as K or Ω increase.

The performance of the timing estimators is measured in terms of probability of making a timing error, say P(ε). An error event is declared to occur whenever the estimate {circumflex over (θ)}_(k) gives rise to IBI during the data section of the frame. This is tantamount to saying that the timing error {circumflex over (θ)}_(k)−θ_(k)+(L−N_(G,D))/2 is larger than zero or smaller than L−N_(G,D)−1, where N_(G,D) is the CP length during the data transmission phase. For testing purposes, we set N_(G,D)=32. FIG. 16C illustrates P(ε) vs. SNR as obtained with ETE and FLM. The number of active codes is K=2 or 3 while Ω=0.05 or 0.1. It can be seen that ETE provides much better results than FLM.

Having thus described the invention in detail, it is to be understood that the foregoing description is not intended to limit the spirit or scope thereof. What is desired to be protected is set forth in the following claims. 

1. A method for initial ranging in a wireless communication system, comprising the steps of: receiving at a base station a plurality of blocks transmitted to the base station from a plurality of remote user devices in wireless communication with the base station; processing the plurality of blocks to extract a ranging subchannel from the plurality of blocks; calculating a total number of active codes in the ranging subchannel; jointly estimating carrier frequency offsets, timing delays, and power levels for all active devices of the plurality of remote user devices; and broadcasting the estimated carrier frequency offsets, timing delays, and power levels to the plurality of remote user devices, the plurality of remote user devices receiving the broadcasted estimated carrier frequency offsets, timing delays, and power levels and adjusting transmission parameters to synchronize communication with the base station.
 2. The method of claim 1, wherein the step of processing the plurality of blocks further comprises applying a discrete Fourier transformation algorithm to the plurality of blocks to extract the ranging subchannel.
 3. The method of claim 1, wherein the step of identifying active codes in the ranging subchannel comprises decomposing an observation space into a signal subspace and a noise subspace.
 4. The method of claim 3, wherein the step of identifying active codes in the ranging subchannel further comprises identifying active codes by applying a multiple signal classification algorithm to the signal subspace and the noise subspace.
 5. The method of claim 1, wherein the step of jointly estimating carrier frequency offsets further comprises estimating carrier frequency offsets by applying a multiple signal classification (MUSIC) algorithm to a signal subspace and a noise subspace.
 6. The method of claim 1, wherein the step of estimating timing delays further comprises applying a maximum likelihood (ML) estimation algorithm to the ranging subchannel to produce an ML estimation vector.
 7. The method of claim 6, wherein the step of estimating timing delays further comprises applying a least-squares estimation algorithm to the ML estimation vector to estimate timing delays.
 8. The method of claim 1, wherein the step of estimating power levels comprises applying a least-squares estimation algorithm to a maximum likelihood (ML) estimation vector to estimate power levels.
 9. The method of claim 1, wherein the step of estimating timing delays further comprises applying a simplified ML estimation algorithm having reduced computational complexity to the model to produce an ML estimation vector.
 10. The method of claim 9, wherein the step of estimating timing delays further comprises applying a simplified least-squares estimation algorithm having reduced computational complexity to the ML estimation vector to estimate timing delays.
 11. The method of claim 1, wherein the step of estimating power levels comprises applying a simplified least-squares estimation algorithm having reduced computational complexity to a maximum likelihood (ML) estimation vector to estimate power levels.
 12. The method of claim 1, further comprising the step of processing all subcarriers and subchannels of the plurality of blocks to provide updated estimates of carrier frequency offsets, timing delays, and power levels for the plurality of remote user devices.
 13. The method of claim 1, wherein the step of estimating carrier frequency offsets further comprises estimating carrier frequency offsets using an Estimation of Signal Parameters via Rotational Invariance Techniques (ESPRIT) algorithm.
 14. A system for initial ranging in a wireless communication system, comprising: an orthogonal frequency division multiple access (OFDMA) transceiver for receiving a plurality of blocks from a plurality of remote user devices in wireless communication with the OFDMA receiver; an active code identification module programmed into the OFDMA transceiver for calculating a total number of active codes in a ranging subchannel of the plurality of blocks; and means for jointly estimating carrier frequency offsets, timing delays, and power levels for all active devices of the plurality of remote user devices using the active codes; wherein the OFDMA transceiver broadcasts the estimated carrier frequency offsets, timing delays, and power levels to the plurality of remote user devices so that the plurality of remote user devices can adjust transmission parameters in response to the broadcasted estimates to synchronize communication with the base station OFDMA transceiver.
 15. The system of claim 14, wherein said means process all subcarriers and subchannels of the plurality of blocks to provide updated estimates of carrier frequency offsets, timing delays, and power levels for the plurality of remote user devices, and the OFDMA transceiver broadcasts the updated estimates to the plurality of remote user devices.
 16. A non-transitory computer-readable medium having computer-executable instructions for performing a method comprising the steps of: extracting a ranging subchannel from a plurality of blocks received by a base station from a plurality of remote user devices in wireless communication with the base station; calculating a total number of active codes in the ranging subchannel; jointly estimating carrier frequency offsets, timing delays, and power levels for all active devices of the plurality of remote user devices; and broadcasting the estimated carrier frequency offsets, timing delays, and power levels to the plurality of remote user devices, the plurality of remote user devices receiving the broadcasted estimated carrier frequency offsets, timing delays, and power levels and adjusting transmission parameters to synchronize communication with the base station.
 17. The computer-readable medium of claim 16, wherein the step of identifying active codes in the ranging subchannel comprises decomposing received codes in the ranging subchannel into a signal subspace and a noise subspace.
 18. The computer-readable medium of claim 17, wherein the step of identifying active codes in the ranging subchannel further comprises identifying active codes by applying a multiple signal classification algorithm to the signal subspace and the noise subspace.
 19. The computer-readable medium of claim 16, wherein the step of estimating carrier frequency offsets further comprises estimating carrier frequency offsets by applying a multiple signal classification algorithm to a signal subspace and a noise subspace.
 20. The computer-readable medium of claim 16, wherein the step of estimating timing delays further comprises applying a maximum likelihood (ML) estimation algorithm to the ranging subchannel to produce an ML estimation vector.
 21. The computer-readable medium of claim 20, wherein the step of estimating timing delays further comprises applying a least-squares estimation algorithm to the ML estimation vector to estimate timing delays.
 22. The computer-readable medium of claim 16, wherein the step of estimating power levels comprises applying a least-squares estimation algorithm to a maximum likelihood (ML) estimation vector to estimate power levels.
 23. The computer-readable medium of claim 16, wherein the step of estimating timing delays further comprises applying a simplified maximum likelihood (ML) estimation algorithm having reduced computational complexity to the model to produce an ML estimation vector.
 24. The computer-readable medium of claim 23, wherein the step of estimating timing delays further comprises applying a simplified least-squares estimation algorithm having reduced computational complexity to the ML estimation vector to estimate timing delays.
 25. The computer-readable medium of claim 16, wherein the step of estimating power levels comprises applying a simplified least-squares estimation algorithm having reduced computational complexity to a maximum likelihood (ML) estimation vector to estimate power levels.
 26. The computer-readable medium of claim 16, further comprising the step of processing all subcarriers and subchannels of the plurality of blocks to provide updated estimates of carrier frequency offsets, timing delays, and power levels for the plurality of remote user devices.
 27. The computer-readable medium of claim 16, wherein the step of estimating carrier frequency offsets further comprises estimating carrier frequency offsets using an Estimation of Signal Parameters via Rotational Invariance Techniques (ESPRIT) algorithm. 